The telephone is one of the most widely used communication equipments in the world. At first, it was merely a convenient tool to allow people to communicate while they are physically separated. Recently, many companies use telephones to market products and services, provide technical supports to consumer products, allow callers to access their own financial data, etc. Thus, the telephone is becoming a major business and marketing tool.
In order to more effectively use telephone for business and marketing purposes, call centers have been developed. In a call center, a large number of agents handle telephone communication with callers. The matching of calls between callers and agents is typically performed by software. A simple example is used here to describe a few of the many advantages of using call centers. When a call is made to a call center, the telephone number of the calling line is typically made available to the call center by a telephone carrier. Based on this telephone number, the software in the call center can access a database server to obtain information about the caller who has been assigned that phone number. The software can now route the call to an agent who can best handle the call based on predefined criteria (e.g., language skill, knowledge of products the caller bought, etc.). The software immediately transfers relevant information to a computer screen used by the agent. Thus, the agent can gain valuable information about the caller prior to receiving the call. As a result, the agent can more effectively handle the telephone transaction.
It can be seen from the above example that the enabling technology requires a combination of telephone switching and computer information processing technologies. The term commonly used for this combined technology is computer-telephony-integration (CTI).
In a prior art call center architecture, each call center is a self-contained unit. Typically, it has a telephone switch (e.g., automatic call distributor and private branch exchange), a software module for selecting agents based on a predefined script, one or more databases containing information on agents, calls, statistics, and customers, and means for routing an incoming and related data to a selected agent. This single call center system works well when a small company wants to set up only one call center. However, as the size and requirements of a company increase, there is a need to set up multiple call centers. It is desirable that information and resource of all these call centers be shared and that calls received in one call center can be handled by agents in another call center. If each call center is set up according to the prior art call center architecture, there is little or no sharing of resource and information between the call centers. Thus, it is very difficult to know whether there is an agent in another call center who is best able to handle a call received by a call center. Consequently, the full potential of these call centers cannot be fully utilized.